A non-volatile semiconductor memory may be employed as mass storage for a computer system (e.g., desktop, laptop, portable, etc.) or a consumer device (e.g., music player, cell phone, camera, etc.) or other suitable application. The non-volatile semiconductor memory may comprise one or more memory devices (such as a flash memory) and control circuitry for accessing each memory device. Each memory device is coupled to an I/O bus, as well as a number of interface control lines. When issuing a program command or an erase command to a memory device, the control circuitry transfers the address and command data (and write data for a program operation) over the I/O bus. When issuing a read command, the control circuitry transfers the address and command data over the I/O bus and then receives the read data over the I/O bus.
Each memory device typically comprises a number of blocks which are accessed a page at a time. For example, a single block may comprise 128 pages where each page comprises 4096 bytes. Since a page typically cannot be overwritten without first being erased, a new page in a different block is typically selected to perform an “overwrite” operation. Accordingly, the address translation layer must maintain the appropriate logical address to physical address mapping as each write operation changes the physical location of the user data (similar to a log-structured file system).
When the non-volatile semiconductor memory is powered on, it typically loads a translation table from the non-volatile memory into a volatile memory (e.g., DRAM) for on-the-fly mapping of logical addresses to physical addresses when performing access operations. After executing a number of write operations and updating the translation table, the translation table is stored to the memory device to ensure the updates are saved. However, storing the updated translation table to the memory device requires a significant amount of time due to its size which may decrease performance as well as increase the number of erase/write cycles needed to maintain the translation table (write amplification).